 /**
 * @(#) StartupCommand.as
 *
 * @date		2009. 02. 17.
 * @version		1.0
 * @author		Shin, Yunwoo
 * @description	Application 시작을 처리하는 Command
 *
 */
package com.skt.common_hr.congmoney_nos.controller
{
	import com.skt.common_hr.congmoney_nos.model.AccountProxy;
	import com.skt.common_hr.congmoney_nos.model.ApprovalProxy;
	import com.skt.common_hr.congmoney_nos.model.CelebrationApprovalProxy;
	import com.skt.common_hr.congmoney_nos.model.CelebrationCodeProxy;
	import com.skt.common_hr.congmoney_nos.model.CelebrationProxy;
	import com.skt.common_hr.congmoney_nos.model.CongMoneyAccountProxy;
	import com.skt.common_hr.congmoney_nos.model.CongMoneyWriteProxy;
	import com.skt.common_hr.congmoney_nos.model.FamilyProxy;
	import com.skt.common_hr.congmoney_nos.model.MemberSearchListProxy;
	import com.skt.common_hr.congmoney_nos.model.SupportStandardProxy;
	import com.skt.common_hr.congmoney_nos.view.CelebrationMediator;
	
	import org.puremvc.as3.multicore.interfaces.ICommand;
	import org.puremvc.as3.multicore.interfaces.INotification;
	import org.puremvc.as3.multicore.patterns.command.SimpleCommand;

	public class StartupCommand extends SimpleCommand implements ICommand
	{

		override public function execute(note:INotification):void
		{
			var app:CongMoneyNos = note.getBody() as CongMoneyNos;
			trace("execute startupCommand in CongMoney Module");

			facade.registerProxy(new CelebrationProxy());
			facade.registerProxy(new CongMoneyWriteProxy());
			facade.registerProxy(new CongMoneyAccountProxy());
			facade.registerProxy(new MemberSearchListProxy());
			facade.registerProxy(new FamilyProxy());
			facade.registerProxy(new ApprovalProxy());
			facade.registerProxy(new CelebrationCodeProxy());
			facade.registerProxy(new AccountProxy());
			facade.registerProxy(new CelebrationApprovalProxy());
			facade.registerProxy(new SupportStandardProxy());
			// MVC 모델중 View와 관련한 mediator들을 등록한다.
			facade.registerMediator(new CelebrationMediator(app.view));
		}
	}
}